package com.ums.scumspay.service;

import com.ums.scumspay.entity.PayQueryReq;
import com.ums.scumspay.entity.req.PayCrtReq;
import com.ums.scumspay.entity.req.RefundReq;
import com.ums.scumspay.entity.resp.PayResp;

public interface PayCreateService {
    /**
     * @param payCrtReq
     * @return {@code Boolean}
     */
    PayResp b2cPay(PayCrtReq payCrtReq);

    PayResp c2bPay(PayCrtReq payCrtReq);

    String h5Pay(PayCrtReq payCrtReq);

    String b2cQuery(PayQueryReq req);

    String c2bQuery(PayQueryReq req);

    String h5Query(PayQueryReq req);

    Boolean b2cRefund(RefundReq req);

    Boolean c2bRefund(RefundReq req);

    Boolean h5Refund(RefundReq req);

    void urlNotify(String extOrderNo);

    String querPayStatus(String extOrderNo);
}
